CNC 例 01: OutQueue を直接生成する
を参照してください CNC01_direct.project のインストールディレクトリにあるサンプルプロジェクト CODESYS 下 ..\CODESYS SoftMotion\Examples.
この例は、2 つの軸を持つ CNC プログラムを示しています。定義された速度と加速度で、X/Y 平面内の 4 つの位置にアプローチします。プログラムは、パス上に 2 つのパス スイッチ ポイントを設定します。プログラムは、を使用してデータ構造に直接書き込まれます。 SMC_OutQueue コンパイルモード。
CNCエディタでNCプログラムを作成する
作成する
CNCdirectとのプロジェクト SoftMotion コントローラ。を挿入します CNCプログラム 名前の付いたオブジェクト
Example。を選択 実装
Din66025そしてその コンパイルモードSMC_OutQueue。次のモーションブロックを指定します。
CNCエディター:

ドライブインターフェースとPLC構成の作成
次のように、2つのリニアドライブを備えたドライブ構造を定義します。
2つの仮想ドライブを挿入します
X_DriveとY_Drive下 SoftMotion一般軸プール。をセットする 軸タイプ パラメータを
Finite(1)。構成エディター:

IECプログラムの作成
新しいCFCプログラムを追加する Ipo アプリケーションに接続し、3ミリ秒の間隔で循環タスクを構成します。
でドライブをアクティブにします
MC_Powerファンクションブロック。POU:

を挿入します
SMC_InterpolatorPOU。機能ブロックは、GEOINFOオブジェクトによって定義されたパスを個別のパスポイントに変換します。ファンクションブロックは、入力で作成されたCNCプログラムのアドレスを受け取りますpoqDataIn。次に、IECタスクサイクルタイムを入力に書き込む必要がありますdwIpoTime。これらは入力で定数値として指定できますdwIpoTimeまたは、変数を使用できますdwCyclePLC構成からの軸グループ構造の。これの利点は、タスクのサイクル時間を変更したときに、正しい時刻が補間器の入力として自動的に使用されることです。POU:

この例では、ガントリーシステムが制御されます。この目的のために、から逆変換および順変換関数ブロックのインスタンスを挿入します。
SM_Trafo図書館。順変換機能ブロックには、入力としてドライブが含まれています。逆変換関数ブロックには、補間器の設定位置が含まれている必要があります。この例の順方向変換は、視覚化にのみ必要です。機能ブロックインスタンス:


機能ブロックの出力(軸座標)をドライブに書き込む必要があります。これはで行われます
SMC_ControlAxisByPosファンクションブロック。アプリケーションは、補間器の出力が一定であることを保証しないため(たとえば、パスが開始した場所以外のポイントで終了する)、ギャップ回避をアクティブにします(bAvoidGaps、fGapVelocity、fGapAcceleration、fGapDeceleration)。次に、を接続しますStopIpoに出力bEmergency_Stop補間器の入力と接続補間器の出力iStatus軸制御機能ブロックのそれぞれの入力に。CFCでプログラミングする場合は、機能ブロックの正しい順序に注意してください。
CFC:

オペレーティングインターフェイスとテストインターフェイスの作成
2つのビジュアライゼーションオブジェクトを新しいビジュアライゼーションにリンクします。補間器のテンプレートと変換のテンプレートです。プレースホルダーを使用して、これらをそれぞれの関数ブロックインスタンスにリンクする必要があります(ここでは: Ipo.smci と Ipo.trafof)。
試運転
作成したプログラムをコンパイルして起動します。プログラムは、CNCモーションを実行するとすぐに Execute 補間器の入力が設定されました。プログラムが完全に実行されたら、新しい立ち上がりエッジを使用してプログラムを再起動できます。
補間機能ブロックの視覚化にも表示されるパススイッチの機能に注意してください。